// 实现浅拷贝
let shallowCopy = obj => {
  let rst = {};
  // 遍历对象
  for (let key in obj) {
    // 只本身拥有的属性(非继承过来的属性)枚举属性
    if (obj.hasOwnProperty(key)) {
      rst[key] = obj[key];
    }
  }
  return rst;
}
let star = {
  name: '小明',
  age: 20,
  // 又是一个对象
  friend: {
    name: '小红'
  }
}
let otherStar = shallowCopy(star);
otherStar.name = '小丽';
otherStar.age = 22;
otherStar.friend.name = '小华';
console.log(star,'------', otherStar);
// forin 浅拷贝只对复杂一层做了改变,也就是说浅拷贝只复制了指向对象的一层指针做了拷贝
